package com.tju.resource.oauth.config.components;

import com.tju.resource.tool.result.Result;
import com.tju.resource.tool.result.ResultEnum;
import com.tju.resource.tool.result.ResultUtil;
import com.tju.resource.common.ServiceException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 全局异常处理
 *
 * @USER: CLS
 */
@ControllerAdvice
public class GlobalExceptionHandling {

    /**
     * @param se 业务异常
     * @return
     * @ExceptionHandler相当于controller的@RequestMapping 如果抛出的的是ServiceException，则调用该方法
     */
    @ResponseBody
    @ExceptionHandler(ServiceException.class)
    public Result<Object> handle(ServiceException se) {
        return ResultUtil.error(ResultEnum.UNKONW_ERROR, se.getMessage());
    }
}
